home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-07-03 | 976 b | 44 lines | [TEXT/R*ch] |
- (* The type of the instructions of the abstract machine *)
-
- open Config Const Prim;
-
- datatype ZamInstruction =
- Kquote of StructConstant
- | Kget_global of QualifiedIdent * int
- | Kset_global of QualifiedIdent * int
- | Kaccess of int
- | Kgrab
- | Kpush
- | Kpushmark
- | Klet
- | Kendlet of int
- | Kapply
- | Ktermapply
- | Kcheck_signals
- | Kreturn
- | Kclosure of int
- | Kletrec1 of int
- | Kmakeblock of BlockTag * int
- | Kprim of primitive
- | Kpushtrap of int
- | Kpoptrap
- | Klabel of int
- | Kbranch of int
- | Kbranchif of int
- | Kbranchifnot of int
- | Kstrictbranchif of int
- | Kstrictbranchifnot of int
- | Ktest of bool_test * int
- | Kbranchinterval of int * int * int * int
- | Kswitch of int Array.array
- ;
-
- type ZamPhrase =
- {
- kph_funcs: ZamInstruction list, (* code for functions *)
- kph_inits: ZamInstruction list, (* initialization code *)
- kph_is_pure: bool (* pure = no side effects *)
- };
-
- val Nolabel = ~1;
-